On the Dichotomy of Debugging Behavior Among Programmers
نویسندگان
چکیده
Debugging is an inevitable activity in most software projects, often difficult and more time-consuming than expected, giving it the nickname the “dirty little secret of computer science.” Surprisingly, we have little knowledge on how software engineers debug software problems in the real world, whether they use dedicated debugging tools, and how knowledgeable they are about debugging. This study aims to shed light on these aspects by following a mixed-methods research approach. We conduct an online survey capturing how 176 developers reflect on debugging. We augment this subjective survey data with objective observations on how 458 developers use the debugger included in their integrated development environments (IDEs) by instrumenting the popular ECLIPSE and INTELLIJ IDEs with the purpose-built plugin WATCHDOG 2.0. To clarify the insights and discrepancies observed in the previous steps, we followed up by conducting interviews with debugging experts and regular debugging users. Our results indicate that IDE-provided debuggers are not used as often as expected, because “printf debugging” remains a feasible choice for many programmers. Furthermore, both knowledge and use of advanced debugging features are low. Our results call for strengthening hands-on debugging experience in computer science curricula and have already refined the implementation of modern IDE debuggers.
منابع مشابه
Gender Differences in End-User Debugging Strategies
Little is known about the strategies end-user programmers use in debugging their programs, and even less is known about gender differences that may exist in these strategies. Without this type of information, end-user programming systems cannot know the ―target‖ at which to aim, if they are to support male and female end-user programmers’ debugging. In this paper, we present a study investigati...
متن کاملCreating Views for Debugging Parallel Programs
An extensible parallel debugger helps programmers create new views of their programs’ behavior. This paper describes the features of the Panorama parallel debugger that programmers can use to design a variety of specialized debugging views. A graphical tool for designing elements of a display simplifies the most tedious steps in creating program views. Programmers can incorporate these new view...
متن کاملAnalysing and Interpreting Quantitative Eye-Tracking Data in Studies of Programming: Phases of Debugging with Multiple Representations
While eye-tracking systems become gradually improved and easier to apply, the methodological challenges of how to analyze, interpret and relate the eye-tracking data to user processing remain. Studies of programming behavior are not an exception. We have conducted a reanalysis of eye-tracking data from a previous study that involved programmers of two experience groups debugging a program with ...
متن کاملPii: S0360-1315(98)00063-3
This study reported the research ®ndings on improving programming skills of novice programmers by way of debugging practices. There were two objectives of the debugging training: (1) to uncover and to correct any misconceptions of the programmers; and (2) to improve the debugging abilities of the programmers. To meet these objectives, a model of debugging practices, DebugIt, was presented. The ...
متن کاملSteering programs via time travel
Despite years of research into human computer interaction (HCI), the environments programmers must use for problem-solving today—with separate modes and tools for writing, compiling, testing, visualizing, and debugging— derive their basic structure from historical accident, and take little advantage of HCI research into the cognitive issues of programming. Neglecting these issues is an impedime...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2018